// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
  env:"cloud2-4gncvam39e2323e9",
})
const db=cloud.database();
const _ = db.command

// 云函数入口函数
exports.main = async (event, context) => {
   const openid = cloud.getWXContext().OPENID
  event.openid=openid
  var res= await db.collection("pair").where({
    openid:openid
  }).count()
  if(res.total>0){
    await db.collection('pair').where({
      openid:openid
    }).update({
      data: event
    })
  }else{
    await db.collection('pair').add({
      data: event
    })
  }
  
  var pair=await db.collection('pair').where(_.and([//opid不同，另外6个时间段有一个就可以
    {
      openid:_.not(_.eq(openid))
    },
       _.or([
        {
          need_reserve_today:_.all([event.need_reserve_today[0]])//[event.result.need_reserve_today[0]]
        },
        {
          need_reserve_today:_.all([event.need_reserve_today[1]])
        },
        {
          need_reserve_today:_.all([event.need_reserve_today[2]])
        },
       
      ]),
      {
        date:event.date,
      }
    
  ])).get()
  if(pair.data.length>0){
    for(var i=0;i<pair.data.length;i++)
    {
      pair.data[i].value=0//添加新属性，记录推荐系数排序
      if(pair.data[i].sex==event.need_sex[0]) pair.data[i].value++//参数可以修改，性别当然最重要拉doge//event是传进来的参数，event.need_sex都可以是数组还需要遍历一下
      if(pair.data[i].grade==event.need_grade[0]) pair.data[i].value++//符合后加的数值也可以改
    }
    //pair.data[0].value=2
    function sortId(a,b){  //按照value降序排列
      return b.value-a.value  
  }

  pair.data.sort(sortId)
  console.log("see",pair)
    return  {openid:pair.data[0].openid,//返回权值最高的人的openid
            code:200
          }
  }else{
    return {code:204}//没有查到
  }
}
